package main

import (
	"fmt"
	"time"
)

func main() {
	// 获取当前时间
	t := time.Now()
	year := t.Year() // 获取当前年
	month := t.Month()
	day := t.Day()
	hour := t.Hour()
	minute := t.Minute()
	second := t.Second()
	fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)

	// 时间戳
	// UnixTimestamp()

	// 时间操作
	now := time.Now()
	now1 := now.Add(time.Hour)
	fmt.Println(now1)

	ticker := time.Tick(time.Second) //定义一个1秒间隔的定时器
	for i := range ticker {
		fmt.Println(i) //每秒都会执行的任务
	}

	fmt.Println(time.Now())
}

// 时间戳是自1970年1月1日（08:00:00GMT）至当前时间的总毫秒数。它也被称为Unix时间戳（UnixTimestamp）。
func UnixTimestamp() {
	now := time.Now() // 获取当前时间
	timestamp := now.Unix()
	timestampNano := now.UnixNano() // 纳秒时间戳
	fmt.Printf("current timestamp:%v\n", timestamp)
	fmt.Printf("current timestampNano:%v\n", timestampNano)

	// 将时间戳转换为时间格式
	timeObj := time.Unix(timestamp, 0)
	fmt.Println(timeObj)
	fmt.Println(time.Now().Format("2006-01-_2 3:04:05.000 PM Mon Jan"))
}
